Go Mod
版本迭代:
GOPATH -> GOVORDER -> GOMOD
go mod <options>
options:
- init 初始化新项目,创建
go.mod文件 - download 下载模块到本地缓存
- tidy 调整项目的依赖, 对不需要的模块进行删除或对需要的模块进行增加
-compat=1.17在 Go 1.17 及以上版本中,go mod tidy命令用于整理并更新项目的模块依赖。而在 Go 1.17 之前的版本中,并没有-compat这个参数。-compat=1.17是一个非标准的参数,它允许您在 Go 1.17 及以上版本中使用 Go 1.17 引入的一些新的模块相关的功能,而不会影响到 Go 1.17 之前的版本。使用这个参数,可以确保在 Go 1.17 及以上版本中获得一些新功能的好处,而在较旧的版本中仍然保持向后兼容性。
Proxy
即模块的缓存, 分发
没有 Proxy 之前:
由于源代码大多数都是存储在 git/svn仓库上,如果作者对代码进行删除, 则项目更新了该模块, 则有可能依赖丢失问题,造成安全隐患.
引入 Proxy 之后:
- 对模块进行缓存
- 加速下载, 譬如
github等国外服务器下载慢的问题
go get
go get exampke/pkg[options]
options:
@update更新依赖@none删除依赖@vX.Y.Z依赖X.Y.Z这个tag的具体版本@commit version指定该依赖的commit提交@master分支名的依赖@latest标签标识@v1版本号标识